Skip to content

1719: Rust Integration#1913

Open
laert-ll wants to merge 32 commits into
devonfw:mainfrom
laert-ll:feature/1719-rust-integration
Open

1719: Rust Integration#1913
laert-ll wants to merge 32 commits into
devonfw:mainfrom
laert-ll:feature/1719-rust-integration

Conversation

@laert-ll
Copy link
Copy Markdown
Contributor

@laert-ll laert-ll commented May 11, 2026

This PR Fixes #1719

Continuation of PR #1827

  • Added Rust commandlet.
  • Added new hook in LocalToolCommandlet.java for Rusts custom rustup installation script.
  • Added MSVC commandlet to support Windows installation, see #44.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels- [x] Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • followed all coding conventions
  • added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled with internal

Checklist for tool commandletsHave you added a new «tool» as commandlet? There are the following additional checks:

  • The tool can be installed automatically (during setup via settings) or via the commandlet call
  • The tool is isolated in its IDEasy project, see Sandbox Principle
  • The new tool is added to the table of tools in LICENSE.asciidoc
  • The new commandlet is a command-wrapper for «tool»
  • Proper help texts for all supported languages are added here
  • The new commandlet installs potential dependencies automatically
  • The variables «TOOL»_VERSION and «TOOL»_EDITION are honored by your commandlet
  • The new commandlet is tested on all platforms it is available for or tested on all platforms that are in scope of the linked issue```

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board May 11, 2026
@laert-ll laert-ll self-assigned this May 11, 2026
@laert-ll laert-ll moved this from 🆕 New to 🏗 In progress in IDEasy board May 11, 2026
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented May 11, 2026

Coverage Report for CI Build 26884978447

Coverage decreased (-0.02%) to 71.028%

Details

  • Coverage decreased (-0.02%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 34 coverage regressions across 3 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

34 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/tool/LocalToolCommandlet.java 25 80.92%
com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java 8 90.69%
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 1 78.33%

Coverage Stats

Coverage Status
Relevant Lines: 15872
Covered Lines: 11765
Line Coverage: 74.12%
Relevant Branches: 7078
Covered Branches: 4536
Branch Coverage: 64.09%
Branches in Coverage %: Yes
Coverage Strength: 3.14 hits per line

💛 - Coveralls

@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch 3 times, most recently from 447da62 to 18fc327 Compare May 19, 2026 11:40
@hohwille hohwille mentioned this pull request May 19, 2026
14 tasks
@hohwille hohwille moved this from 🏗 In progress to Team Review in IDEasy board May 19, 2026
@hohwille hohwille marked this pull request as ready for review May 19, 2026 12:04
@AdemZarrouki AdemZarrouki self-requested a review May 20, 2026 07:29
@hohwille hohwille added this to the release:2026.05.001 milestone May 21, 2026
@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch from dcc6a84 to f150bd6 Compare May 22, 2026 06:10
@laert-ll
Copy link
Copy Markdown
Contributor Author

laert-ll commented May 22, 2026

@hohwille
I added a hook in LocalToolCommandlet.java called installDownloadedToolPayload, which handles in Rust.java only Rust-specific setup logic. This removes the need for performToolInstallation to be called in Rust.java along with all it's boilerplate code.
To help with this, I introduced two other hooks in LocalToolCommandlet.java as well: getDownloadedToolFile and installDependencies.

@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch from fa59dfd to c7ce5cb Compare May 26, 2026 06:32
@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch 2 times, most recently from 7e990d3 to ba5d98f Compare May 27, 2026 08:15
Copy link
Copy Markdown
Contributor

@AdemZarrouki AdemZarrouki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the Licence are still missing in the PR.

Comment thread cli/src/main/java/com/devonfw/tools/ide/tool/msvc/Msvc.java Outdated
Copy link
Copy Markdown
Contributor

@AdemZarrouki AdemZarrouki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on windows and rust was successfully

$ ide rust
Usage: rustc [OPTIONS] INPUT

@hohwille hohwille moved this from Team Review to 👀 In review in IDEasy board May 29, 2026
@AdemZarrouki
Copy link
Copy Markdown
Contributor

@laert-ll you need also to update the CHANGELOG.adoc before merging

@laert-ll laert-ll moved this from 👀 In review to Team Review in IDEasy board May 29, 2026
@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch from 5271024 to 4c7c2bf Compare June 1, 2026 08:18
@laert-ll laert-ll force-pushed the feature/1719-rust-integration branch from 7edaba2 to 133b2a7 Compare June 3, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Integrate rust

5 participants